package main

import "fmt"

func main() {
	// 创建一个容量为10的channel
	// channel 的定义： var关键字 变量名 = make(chan 类型, 长度)
	var ch1 = make(chan int, 10)
	var ch2 = make(chan bool, 4)
	var ch3 = make(chan []int, 2)

	fmt.Println(ch1, ch2, ch3)

	var ch4 = make(chan int, 3)
	// 读写channel的元素
	ch4 <- 10
	ch4 <- 11
	ch4 <- 12

	// 读写channel的元素
	var1 := <-ch4
	fmt.Println(var1)
	// var2
	var2 := <-ch4
	fmt.Println(var2)
	// var3
	var3 := <-ch4
	fmt.Println(var3)

	// 优雅得从channel中取值
	var chan5 = make(chan int, 5)
	// 读写channel的元素
	chan5 <- 10
	chan5 <- 11
	chan5 <- 12
	chan5 <- 13
	chan5 <- 14
	close(chan5)
	for value := range chan5 {
		fmt.Println(value)
	}
}
